package main.java.exception;
/*
    finally常见面试题
    1.请分别说明final finally finalize是什么
    final: 修饰符，放在类前不能被继承，放在方法前不能被重写，放在变量前表示该变量是常量
    finally: 用在try语句中，最后一定会执行的语句块，通常用于释放资源，比如文件流，数据库连接等
    finalize: 方法，当垃圾回收器准备回收对象时，会调用该对象的finalize方法
 */
public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
                test("a")+","+test(null)+","+test("")
        );
    }
    public static int test(String str){
        try{
            return str.charAt(0)-'a';
        }catch (NullPointerException e){
            return 1;
        }catch (Exception e){
            return 2;
        }
    }
}

